﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <!-- Documenting T:NAnt.Core.Tasks.XmlPeekTask-->
  <head>
    <meta http-equiv="Content-Language" content="en-ca" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href="../style.css" />
    <title>&lt;xmlpeek&gt; Task</title>
  </head>
  <body>
    <table width="100%" border="0" cellspacing="0" cellpadding="2" class="NavBar">
      <tr>
        <td class="NavBar-Cell">
          <a href="http://nant.sourceforge.net">
            <b>NAnt</b>
          </a>
          <img alt="-&gt;" src="../images/arrow.gif" />
          <a href="../index.html">Help</a>
          <img alt="-&gt;" src="../images/arrow.gif" />
          <a href="../tasks/index.html">Task Reference</a>
          <img alt="-&gt;" src="../images/arrow.gif" /> &lt;xmlpeek&gt;</td>
        <td class="NavBar-Cell" align="right">
                        v0.91-alpha2</td>
      </tr>
    </table>
    <h1>&lt;xmlpeek&gt;</h1>
    <p class="topicstatus">[This is preliminary documentation and subject to change.]</p>
    <p> Extracts text from an XML file at the location specified by an XPath expression. </p>
    <p> If the XPath expression specifies multiple nodes the node index is used to determine which of the nodes' text is returned. </p>
    <h3>Parameters</h3>
    <div class="table">
      <table>
        <tr>
          <th>Attribute</th>
          <th style="text-align: center;">Type</th>
          <th>Description</th>
          <th style="text-align: center;">Required</th>
        </tr>
        <tr>
          <td valign="top" class="required">file</td>
          <td style="text-align: center;">file</td>
          <td> The name of the file that contains the XML document that is going to be peeked at. </td>
          <td style="text-align: center;">True</td>
        </tr>
        <tr>
          <td valign="top" class="required">property</td>
          <td style="text-align: center;">string</td>
          <td> The property that receives the text representation of the XML inside the node returned from the XPath expression. </td>
          <td style="text-align: center;">True</td>
        </tr>
        <tr>
          <td valign="top" class="required">xpath</td>
          <td style="text-align: center;">string</td>
          <td> The XPath expression used to select which node to read. </td>
          <td style="text-align: center;">True</td>
        </tr>
        <tr>
          <td valign="top">nodeindex</td>
          <td style="text-align: center;">int</td>
          <td> The index of the node that gets its text returned when the query returns multiple nodes. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">failonerror</td>
          <td style="text-align: center;">bool</td>
          <td> Determines if task failure stops the build, or is just reported. The default is <b>true</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">if</td>
          <td style="text-align: center;">bool</td>
          <td> If <b>true</b> then the task will be executed; otherwise, skipped. The default is <b>true</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">unless</td>
          <td style="text-align: center;">bool</td>
          <td> Opposite of <code>if</code>. If <b>false</b> then the task will be executed; otherwise, skipped. The default is <b>false</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">verbose</td>
          <td style="text-align: center;">bool</td>
          <td> Determines whether the task should report detailed build log messages. The default is <b>false</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
      </table>
    </div>
    <h3>Nested Elements:</h3>
    <!--Collection-->
    <h4>
      <a id="namespaces">
      </a>
            &lt;namespaces&gt;
        </h4>
    <div class="nested-element"> Namespace definitions to resolve prefixes in the XPath expression. <h5>&lt;namespace&gt;</h5><div class="nested-element"><p> Represents an XML namespace. </p><h3>Parameters</h3><div class="table"><table><tr><th>Attribute</th><th style="text-align: center;">Type</th><th>Description</th><th style="text-align: center;">Required</th></tr><tr><td valign="top" class="required">prefix</td><td style="text-align: center;">string</td><td> The prefix to associate with the namespace. </td><td style="text-align: center;">True</td></tr><tr><td valign="top" class="required">uri</td><td style="text-align: center;">string</td><td> The associated XML namespace URI. </td><td style="text-align: center;">True</td></tr><tr><td valign="top">if</td><td style="text-align: center;">bool</td><td> Indicates if the namespace should be added to the <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemXmlXmlNamespaceManagerClassTopic.asp">XmlNamespaceManager</a>. If <b>true</b> then the namespace will be added; otherwise, skipped. The default is <b>true</b>. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">unless</td><td style="text-align: center;">bool</td><td> Indicates if the namespace should not be added to the <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemXmlXmlNamespaceManagerClassTopic.asp">XmlNamespaceManager</a>. list. If <b>false</b> then the parameter will be added; otherwise, skipped. The default is <b>false</b>. </td><td style="text-align: center;">False</td></tr></table></div></div><h5>&lt;/namespace&gt;</h5></div>
    <h4>&lt;/namespaces&gt;</h4>
    <h3>Examples</h3>
    <ul class="examples">
      <li>
        <p> The example provided assumes that the following XML file (App.config) exists in the current build directory. </p>
        <pre class="code">
            &lt;?xml version="1.0" encoding="utf-8" ?&gt;
            &lt;configuration xmlns="http://www.gordic.cz/shared/project-config/v_1.0.0.0"&gt;
                &lt;appSettings&gt;
                    &lt;add key="server" value="testhost.somecompany.com" /&gt;
                &lt;/appSettings&gt;
            &lt;/configuration&gt;
                </pre>
      </li>
      <li>
        <p> The example will read the server value from the above configuration file. </p>
        <pre class="code">
            &lt;xmlpeek
                file="App.config"
                xpath="/x:configuration/x:appSettings/x:add[@key = 'server']/@value"
                property="configuration.server"&gt;
                &lt;namespaces&gt;
                    &lt;namespace prefix="x" uri="http://www.gordic.cz/shared/project-config/v_1.0.0.0" /&gt;
                &lt;/namespaces&gt;
            &lt;/xmlpeek&gt;
                </pre>
      </li>
    </ul>
    <h3>Requirements</h3>
    <div style="margin-left: 20px;">
      <b>Assembly:</b> NAnt.Core (0.91.3881.0)
            </div>
  </body>
</html>